package com.springboot.file.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@TableName("cust_payment_result_info")
@ApiModel(value = "客户回款结果信息")
public class CustPaymentResultInfo {

    @TableId(value = "payment_result_id")
    @ApiModelProperty(value = "回款结果主键")
    @ExcelIgnore
    private String paymentResultId;

    @TableField(value = "pay_advise_code")
    @ApiModelProperty(value = "付款建议编号")
    @ExcelProperty(value = "付款建议编号", index = 0)
    private String payAdviseCode;

    @TableField(value = "acctg_year")
    @ApiModelProperty(value = "会计年度")
    @ExcelProperty(value = "会计年度", index = 1)
    private String acctgYear;

    @TableField(value = "company_id")
    @ApiModelProperty(value = "公司代码")
    @ExcelProperty(value = "公司代码", index = 2)
    private String companyId;

    @TableField(value = "company_name")
    @ApiModelProperty(value = "公司名称")
    @ExcelProperty(value = "公司名称", index = 3)
    private String companyName;

    @TableField(value = "need_pay_evidence_code")
    @ApiModelProperty(value = "应付凭证编号")
    @ExcelProperty(value = "应付凭证编号", index = 4)
    private String needPayEvidenceCode;

    @TableField(value = "need_pay_evidence_project")
    @ApiModelProperty(value = "应付凭证行项目")
    @ExcelProperty(value = "应付凭证行项目", index = 5)
    private String needPayEvidenceProject;

    @TableField(value = "refer_evidence")
    @ApiModelProperty(value = "参考凭证")
    @ExcelProperty(value = "参考凭证", index = 6)
    private String referEvidence;

    @TableField(value = "evidence_type")
    @ApiModelProperty(value = "凭证类型")
    @ExcelProperty(value = "凭证类型", index = 7)
    private String evidenceType;

    @TableField(value = "this_pay_contract_no")
    @ApiModelProperty(value = "本笔付款对应合同编号")
    @ExcelProperty(value = "本笔付款对应合同编号", index = 8)
    private String thisPayContractNo;

    @TableField(value = "bank_acc_no")
    @ApiModelProperty(value = "银行账号")
    @ExcelProperty(value = "银行账号", index = 9)
    private String bankAccNo;

    @TableField(value = "bank_acc_nm")
    @ApiModelProperty(value = "银行账户全称")
    @ExcelProperty(value = "银行账户全称", index = 10)
    private String bankAccNm;

    @TableField(value = "bank_nm")
    @ApiModelProperty(value = "银行账户开户行")
    @ExcelProperty(value = "银行账户开户行", index = 11)
    private String bankNm;

    @TableField(value = "bank_no")
    @ApiModelProperty(value = "银行联行号")
    @ExcelProperty(value = "银行联行号", index = 12)
    private String bankNo;

    @TableField(value = "payment_type")
    @ApiModelProperty(value = "付款方式（电汇或电票）")
    @ExcelProperty(value = "付款方式", index = 13)
    private String paymentType;

    @TableField(value = "currency_uomid")
    @ApiModelProperty(value = "币种")
    @ExcelProperty(value = "币种", index = 14)
    private String currencyUomid;

    @TableField(value = "pay_advise_comments")
    @ApiModelProperty(value = "付款建议备注")
    @ExcelProperty(value = "付款建议备注", index = 15)
    private String payAdviseComments;

    @TableField(value = "cd_no")
    @ApiModelProperty(value = "借贷标识")
    @ExcelProperty(value = "借贷标识", index = 16)
    private String cdNo;

    @TableField(value = "delete_flag")
    @ApiModelProperty(value = "删除标志")
    @ExcelProperty(value = "删除标志", index = 17)
    private String deleteFlag;

    @TableField(value = "pay_advise_status")
    @ApiModelProperty(value = "付款建议状态")
    @ExcelProperty(value = "付款建议状态", index = 18)
    private String payAdviseStatus;

    @TableField(value = "pay_advise_create_date")
    @ApiModelProperty(value = "付款建议创建日期")
    @ExcelProperty(value = "付款建议创建日期", index = 19)
    private String payAdviseCreateDate;

    @TableField(value = "post_date")
    @ApiModelProperty(value = "过账日期")
    @ExcelProperty(value = "过账日期", index = 20)
    private String postDate;

    @TableField(value = "plan_payment_date")
    @ApiModelProperty(value = "预计付款日期")
    @ExcelProperty(value = "预计付款日期", index = 21)
    private String planPaymentDate;

    @TableField(value = "payment_date")
    @ApiModelProperty(value = "实际付款日期")
    @ExcelProperty(value = "实际付款日期", index = 22)
    private String paymentDate;

    @TableField(value = "evidence_amt_in_tax")
    @ApiModelProperty(value = "凭证含税金额")
    @ExcelProperty(value = "凭证含税金额", index = 23)
    private BigDecimal evidenceAmtInTax;

    @TableField(value = "cancel_amt")
    @ApiModelProperty(value = "核销金额")
    @ExcelProperty(value = "核销金额", index = 24)
    private BigDecimal cancelAmt;

    @TableField(value = "need_pay_acc_evidence_code")
    @ApiModelProperty(value = "应付账款凭证编号")
    @ExcelProperty(value = "应付账款凭证编号", index = 25)
    private String needPayAccEvidenceCode;

    @TableField(value = "charge_acc_date")
    @ApiModelProperty(value = "挂账时间")
    @ExcelProperty(value = "挂账时间", index = 26)
    private String chargeAccDate;

    @TableField(value = "create_user")
    @ApiModelProperty(value = "创建用户")
    @ExcelIgnore
    private String createUser;

    @TableField(value = "last_update_user")
    @ApiModelProperty(value = "最新更新用户")
    @ExcelIgnore
    private String lastUpdateUser;

    @TableField(value = "create_datetime", fill = FieldFill.INSERT)
    @ApiModelProperty(value = "创建时间")
    @ExcelIgnore
    private LocalDateTime createDatetime;

    @TableField(value = "last_update_datetime", fill = FieldFill.INSERT_UPDATE)
    @ApiModelProperty(value = "最新更新时间")
    @ExcelIgnore
    private LocalDateTime lastUpdateDatetime;
}
